package vo

import (
	"boy-go/pkg/request"
	"boy-go/pkg/xtime"
	"time"
)

type SysDictDataModel struct {
	DictCode   int64   `json:"dictCode" form:"dictCode"`     // 字典编码
	DictSort   *int64  `json:"dictSort" form:"dictSort"`     // 字典排序
	DictLabel  *string `json:"dictLabel" form:"dictLabel"`   // 字典标签
	DictValue  *string `json:"dictValue" form:"dictValue"`   // 字典键值
	DictType   *string `json:"dictType" form:"dictType"`     // 字典类型
	CssClass   *string `json:"cssClass" form:"cssClass"`     // 样式属性（其他样式扩展）
	ListClass  *string `json:"listClass" form:"listClass"`   // 表格回显样式
	IsDefault  *string `json:"isDefault" form:"isDefault"`   // 是否默认（Y是 N否）
	Status     *string `json:"status" form:"status"`         // 状态（0正常 1停用）
	CreateBy   *string `json:"createBy" form:"createBy"`     // 创建者
	CreateTime *string `json:"createTime" form:"createTime"` // 创建时间
	UpdateBy   *string `json:"updateBy" form:"updateBy"`     // 更新者
	UpdateTime *string `json:"updateTime" form:"updateTime"` // 更新时间
	Remark     *string `json:"remark" form:"remark"`         // 备注
}

func (item *SysDictDataModel) CreateAt(t *time.Time) {
	item.CreateTime = xtime.TS.Format(t)
}
func (item *SysDictDataModel) UpdateAt(t *time.Time) {
	item.UpdateTime = xtime.TS.Format(t)
}

type QuerySysDictDataReq struct {
	request.PageRequest         // 分页参数
	DictCode            *int64  `json:"dictCode" form:"dictCode"`   // 字典编码
	DictSort            *int64  `json:"dictSort" form:"dictSort"`   // 字典排序
	DictLabel           *string `json:"dictLabel" form:"dictLabel"` // 字典标签
	DictValue           *string `json:"dictValue" form:"dictValue"` // 字典键值
	DictType            *string `json:"dictType" form:"dictType"`   // 字典类型
	CssClass            *string `json:"cssClass" form:"cssClass"`   // 样式属性（其他样式扩展）
	ListClass           *string `json:"listClass" form:"listClass"` // 表格回显样式
	IsDefault           *string `json:"isDefault" form:"isDefault"` // 是否默认（Y是 N否）
	Status              *string `json:"status" form:"status"`       // 状态（0正常 1停用）
	Remark              *string `json:"remark" form:"remark"`       // 备注
}
type ListSysDictDataRsp struct {
	List  []*SysDictDataModel
	Total int64
}

type AddSysDictDataReq struct {
	DictCode   int64   `json:"dictCode" form:"dictCode"`     // 字典编码
	DictSort   *int64  `json:"dictSort" form:"dictSort"`     // 字典排序
	DictLabel  *string `json:"dictLabel" form:"dictLabel"`   // 字典标签
	DictValue  *string `json:"dictValue" form:"dictValue"`   // 字典键值
	DictType   *string `json:"dictType" form:"dictType"`     // 字典类型
	CssClass   *string `json:"cssClass" form:"cssClass"`     // 样式属性（其他样式扩展）
	ListClass  *string `json:"listClass" form:"listClass"`   // 表格回显样式
	IsDefault  *string `json:"isDefault" form:"isDefault"`   // 是否默认（Y是 N否）
	Status     *string `json:"status" form:"status"`         // 状态（0正常 1停用）
	CreateBy   *string `json:"createBy" form:"createBy"`     // 创建者
	CreateTime *string `json:"createTime" form:"createTime"` // 创建时间
	UpdateBy   *string `json:"updateBy" form:"updateBy"`     // 更新者
	UpdateTime *string `json:"updateTime" form:"updateTime"` // 更新时间
	Remark     *string `json:"remark" form:"remark"`         // 备注
}
type AddSysDictDataRsp struct {
	DictCode int64 `json:"dictCode" form:"dictCode"` // 字典编码
}

type EditSysDictDataReq struct {
	DictCode   int64   `json:"dictCode" form:"dictCode"`     // 字典编码
	DictSort   *int64  `json:"dictSort" form:"dictSort"`     // 字典排序
	DictLabel  *string `json:"dictLabel" form:"dictLabel"`   // 字典标签
	DictValue  *string `json:"dictValue" form:"dictValue"`   // 字典键值
	DictType   *string `json:"dictType" form:"dictType"`     // 字典类型
	CssClass   *string `json:"cssClass" form:"cssClass"`     // 样式属性（其他样式扩展）
	ListClass  *string `json:"listClass" form:"listClass"`   // 表格回显样式
	IsDefault  *string `json:"isDefault" form:"isDefault"`   // 是否默认（Y是 N否）
	Status     *string `json:"status" form:"status"`         // 状态（0正常 1停用）
	CreateBy   *string `json:"createBy" form:"createBy"`     // 创建者
	CreateTime *string `json:"createTime" form:"createTime"` // 创建时间
	UpdateBy   *string `json:"updateBy" form:"updateBy"`     // 更新者
	UpdateTime *string `json:"updateTime" form:"updateTime"` // 更新时间
	Remark     *string `json:"remark" form:"remark"`         // 备注
}
type EditSysDictDataRsp struct {
	DictCode int64 `json:"dictCode" form:"dictCode"` // 字典编码
}
